home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.004 / xemacs-1 / xemacs-19.13 / src / bufslots.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-05  |  5.1 KB  |  147 lines

  1. /* Definitions of marked slots in buffers
  2.    Copyright (C) 1990, 1992, 1993 Free Software Foundation, Inc.
  3.  
  4. This file is part of XEmacs.
  5.  
  6. XEmacs is free software; you can redistribute it and/or modify it
  7. under the terms of the GNU General Public License as published by the
  8. Free Software Foundation; either version 2, or (at your option) any
  9. later version.
  10.  
  11. XEmacs is distributed in the hope that it will be useful, but WITHOUT
  12. ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  13. FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  14. for more details.
  15.  
  16. You should have received a copy of the GNU General Public License
  17. along with XEmacs; see the file COPYING.  If not, write to the Free
  18. Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
  19.  
  20. /* Synched up with: Mule 2.0, FSF 19.28. */
  21.  
  22. /* In the declaration of the buffer structure, this file is included
  23.    after defining MARKED_SLOT(x) to be Lisp_Object x; i.e. just a slot
  24.    definition.  In the garbage collector this file is included after
  25.    defining MARKED_SLOT(x) to be mark_object(buffer->x). */
  26.  
  27.     /* the name of this buffer */
  28.     MARKED_SLOT (name);
  29.  
  30.     /* the name of the file associated with this buffer */
  31.     MARKED_SLOT (filename);
  32.  
  33.     /* the truename of the filename (via the realpath() system call) */
  34.     MARKED_SLOT (truename);
  35.  
  36.     /* Dir for expanding relative pathnames */
  37.     MARKED_SLOT (directory);
  38.  
  39.     /* true iff this buffer has been been backed
  40.        up (if you write to its associated file
  41.        and it hasn't been backed up, then a
  42.        backup will be made) */
  43.     /* #### This isn't really used by the C code, so could be deleted.  */
  44.     MARKED_SLOT (backed_up);
  45.  
  46.     /* Length of file when last read or saved. */
  47.     MARKED_SLOT (save_length);
  48.  
  49.     /* file name used for auto-saving this buffer */
  50.     MARKED_SLOT (auto_save_file_name);
  51.  
  52.     /* Non-nil if buffer read-only */
  53.     MARKED_SLOT (read_only);
  54.  
  55.     /* "The mark"; no longer allowed to be nil */
  56.     MARKED_SLOT (mark);
  57.  
  58.     /* Alist of elements (SYMBOL . VALUE-IN-THIS-BUFFER)
  59.        for all per-buffer variables of this buffer.  */
  60.     MARKED_SLOT (local_var_alist);
  61.  
  62.     /* Symbol naming major mode (eg lisp-mode) */
  63.     MARKED_SLOT (major_mode);
  64.  
  65.     /* Pretty name of major mode (eg "Lisp") */
  66.     MARKED_SLOT (mode_name);
  67.  
  68.     /* Format string for modeline */
  69.     MARKED_SLOT (modeline_format);
  70.  
  71.     /* Keys that are bound local to this buffer */
  72.     MARKED_SLOT (keymap);
  73.  
  74.     /* This buffer's local abbrev table */
  75.     MARKED_SLOT (abbrev_table);
  76.     /* This buffer's syntax table. */
  77.     MARKED_SLOT (syntax_table);
  78. #ifdef MULE_REGEXP
  79.     /* This buffer's category table. */
  80.     MARKED_SLOT (category_table);
  81. #endif /* MULE_REGEXP */
  82.  
  83.     /* Values of several buffer-local variables.
  84.  
  85.        tab-width is buffer-local so that redisplay can find it
  86.        in buffers that are not current */
  87.     MARKED_SLOT (case_fold_search);
  88.     MARKED_SLOT (tab_width);
  89.     MARKED_SLOT (fill_column);
  90.     MARKED_SLOT (left_margin);
  91.  
  92.     /* Function to call when insert space past fill column */
  93.     MARKED_SLOT (auto_fill_function);
  94.  
  95.     /* String of length 256 mapping each char to its lower-case version.  */
  96.     MARKED_SLOT (downcase_table);
  97.     /* String of length 256 mapping each char to its upper-case version.  */
  98.     MARKED_SLOT (upcase_table);
  99.  
  100.     /* Translate table for case-folding search.  */
  101.     MARKED_SLOT (case_canon_table);
  102.     /* Inverse translate (equivalence class) table for case-folding search. */
  103.     MARKED_SLOT (case_eqv_table);
  104.  
  105.     /* #### This ought to be a specifier: */
  106.     /* Non-nil means do not display continuation lines */
  107.     MARKED_SLOT (truncate_lines);
  108.     /* #### This ought to be a specifier: */
  109.     /* #### Better yet, it ought to be junked.  It really sucks. */
  110.     /* Non-nil means display ctl chars with uparrow */
  111.     MARKED_SLOT (ctl_arrow);
  112.     /* #### This ought to be a specifier: */
  113.     /* #### Better yet, it ought to be junked.  It really sucks. */
  114.     /* Non-nil means do selective display;
  115.        See doc string in syms_of_buffer (buffer.c) for details.  */
  116.     MARKED_SLOT (selective_display);
  117.     /* #### This ought to be a specifier: */
  118.     /* #### Better yet, it ought to be junked.  It really sucks. */
  119.     /* Non-nil means show ... at end of line followed by invisible lines.  */
  120.     MARKED_SLOT (selective_display_ellipses);
  121.     /* Alist of (FUNCTION . STRING) for each minor mode enabled in buffer. */
  122.     /* Unused: MARKED_SLOT (minor_modes); */
  123.     /* t if "self-insertion" should overwrite */
  124.     MARKED_SLOT (overwrite_mode);
  125.     /* non-nil means abbrev mode is on.  Expand abbrevs automatically. */
  126.     MARKED_SLOT (abbrev_mode);
  127.  
  128. #ifdef FILE_TRANSLATION_MODE
  129.     MARKED_SLOT (file_translation_mode);
  130. #endif
  131. #ifdef HAVE_FEP
  132.     MARKED_SLOT (fep_mode);
  133. #endif
  134.     
  135.     /* Changes in the buffer are recorded here for undo.
  136.        t means don't record anything.  */
  137.     MARKED_SLOT (undo_list);
  138.  
  139.     /* A redundant copy of text.pt, in the form of a marker.  Every time one
  140.        is updated, so is the other.
  141.      */
  142.     MARKED_SLOT (point_marker);
  143.  
  144.     /* If dedicated_frame is non-nil, display_buffer tries to use it instead
  145.        of the current frame */
  146.     MARKED_SLOT (dedicated_frame);
  147.